package com.puntodonna.fogliocassa.shared;

import java.io.Serializable;
import java.util.Date;


import com.googlecode.objectify.Key;
import com.googlecode.objectify.annotation.Entity;
import com.googlecode.objectify.annotation.Id;
import com.googlecode.objectify.annotation.Index;



@Entity
public class MovimentoObj implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	public static final int CREDITO = 1;
	public static final int DEBITO = -1;

	protected String causale;
	protected double iva;
	protected double percIva;
	protected double lordo;
	protected double netto;
	protected int tipoMovimento;
	protected Date data;
	@Id
	protected Long id;
	@Index
	protected Key<FoglioCassaObj> foglioCassaKey;
	
	public MovimentoObj() {
		
	}
	
	public String getCausale() {
		return this.causale;
	}

	public Double getIVA() {
		return this.iva;
	}

	public Double getLordo() {
		return this.lordo;
	}

	public int getTipoMovimento() {
		return this.tipoMovimento;
	}

	public Double getPercIVA() {
		return this.percIva;
	}

	public Double getNetto() {
		return this.netto;
	}

	public Long getId() {
		return this.id;
	}

	public void setCausale(String causale) {
		this.causale = causale;
	}

	public void setId(long id) {
		this.id = id;
	}

	public void setIva(double iva) {
		this.iva = iva;
	}

	public void setLordo(double lordo) {
		this.lordo = lordo;
	}

	public void setPercIva(double percIva) {
		this.percIva = percIva;
	}

	public void setNetto(double netto) {
		this.netto = netto;
	}

	public double getIva() {
		return iva;
	}

	public double getPercIva() {
		return percIva;
	}
	
	public Date getData() {
		return data;
	}
	
	public void setData(Date data) {
		this.data = data;
	}

	public void setTipoMovimento(int tipoMovimento) {
		assert tipoMovimento != 1 || tipoMovimento != -1 : "unknown tipoMovimento: " + tipoMovimento;
		this.tipoMovimento = tipoMovimento;
	}
	
	public Key<FoglioCassaObj> getFoglioCassaKey() {
		return foglioCassaKey;
	}
	
	public void setFoglioCassaKey(Key<FoglioCassaObj> foglioCassaKey) {
		this.foglioCassaKey = foglioCassaKey;
	}
}
